package com.cyt.work.kwmanagement.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.work.kwmanagement.model.po.KwKcMessage;
import com.cyt.work.kwmanagement.model.vo.KwKcMessageVo;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;

import java.util.List;

/**
 * 考场设置详细表-考场设置详细表Service层接口类
 *
 * @author han jun
 * @date 2019-11-26 11:20:58
 */
public interface KwKcMessageService extends BaseService<KwKcMessage> {

    /**
     * 查询对象集合
     *
     * @param kwKcMessageVo 对象
     * @return List 对象集合
     * @author han jun
     * @date 2019-11-26 11:20:58
     */
    List<KwKcMessage> listExample(KwKcMessageVo kwKcMessageVo);

    /**
     * 分页查询
     *
     * @param kwKcMessageVo 接受参数对象
     * @param pageNum       分页数
     * @param pageSize      每页显示条数
     * @return ReturnResult
     * @author han jun
     * @date 2019-11-26 11:20:58
     */
    ReturnResult page(KwKcMessageVo kwKcMessageVo, int pageNum, int pageSize);

    /**
     * 添加或更新
     *
     * @param kwKcMessageVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author han jun
     * @date 2019-11-26 11:20:58
     */
    ReturnResult addOrUpdate(KwKcMessageVo kwKcMessageVo, SysUser sysUser);

    /**
     * 根据条件逻辑删除
     *
     * @param kwKcMessageVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author han jun
     * @date 2019-11-26 11:20:58
     */
    ReturnResult remove(KwKcMessageVo kwKcMessageVo, SysUser sysUser);

    /**
     * 根据条件物理删除
     *
     * @param kwKcMessageVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author han jun
     * @date 2019-11-26 11:20:58
     */
    ReturnResult delete(KwKcMessageVo kwKcMessageVo, SysUser sysUser);


    /**
     * 删除的考场详情
     *
     * @param kwKcMessageVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author Jun Han
     * @date 2019/12/4 16:51
     */
    ReturnResult removeAll(KwKcMessageVo kwKcMessageVo, SysUser sysUser);

}